Skip to main content
Version: 8.4.08.4

LiveExpirySurface

V8 Message Definiton

LiveExpirySurface (surfaceType = 'Live') records are computed and publish continuously during trading hours and represent a current best implied volatility market fit.\nSurfaceType = 'PriorDay' records contain the `closing surface record from the prior trading period (usually from just before the last main session close).

METADATA

AttributeValue
Topic1000-analytics
MLink TokenSystemData
ProductSRAnalytics
accessTypeSELECT

Table Definition

FieldTypeKeyDefault ValueComment
ekey_atenum - AssetTypePRI'None'
ekey_tsenum - TickerSrcPRI'None'
ekey_tkVARCHAR(12)PRI''
ekey_yrSMALLINT UNSIGNEDPRI0
ekey_mnTINYINT UNSIGNEDPRI0
ekey_dyTINYINT UNSIGNEDPRI0
surfaceTypeenum - SurfaceCurveTypePRI'None'
uPrcDOUBLE0effective uPrc used for surface fitting
uPrcDriverDOUBLE0underlier driver midmarket
yearsFLOAT0time to expiration in years
rateFLOAT0average interest rate to expiration discount rate
sdivFLOAT0stock dividend borrow rate
atmVolFLOAT0atm vol xAxis 0
atmSlopeFLOAT0volatility surface slope dVol dXAxis ATM xAxis0
fitRateFLOAT0
axisFUPrcFLOAT0axis FwdUPrc fwd underlying price used to compute xAxis
axisVolRTFLOAT0axis volatility x sqrtyears used to compute xAxis usually the minimum curve volatility
skewMultFLOAT0sVol skewMult BasisSkewFnxMult xAxis xShift
xMultFLOAT0
xShiftFLOAT0
skewC00FLOAT0curve coeff0
skewC01FLOAT0curve coeff1
skewC02FLOAT0
skewC03FLOAT0
skewC04FLOAT0
skewC05FLOAT0
skewC06FLOAT0
skewC07FLOAT0
skewC08FLOAT0
skewC09FLOAT0
skewC10FLOAT0
skewC11FLOAT0
skewC12FLOAT0
skewC13FLOAT0
skewC14FLOAT0
skewC15FLOAT0
skewC16FLOAT0
skewC17FLOAT0
skewC18FLOAT0
skewC19FLOAT0
skewC20FLOAT0
skewC21FLOAT0
skewC22FLOAT0
skewC23FLOAT0
skewC24FLOAT0
skewC25FLOAT0
skewC26FLOAT0
skewC27FLOAT0
skewC28FLOAT0
cpAdjD04FLOAT0xAxis 40
cpAdjD03FLOAT0xAxis 30
cpAdjD02FLOAT0xAxis 20
cpAdjD01FLOAT0xAxis 10
cpAdjU01FLOAT0xAxis 10
cpAdjU02FLOAT0xAxis 20
cpAdjU03FLOAT0xAxis 30
cpAdjU04FLOAT0xAxis 40
tradeableStatusenum - TradeableStatus'None'indicates whether the surface is currently tradeable or not all server surface integrity checks pass
surfaceResultenum - SurfaceResult'None'
marketSessionenum - MarketSession'None'market session this surface is from
timestampDATETIME(6)'1900-01-01 00:00:00.000000'

PRIMARY KEY DEFINITION (Unique)

FieldSequence
ekey_tk1
ekey_yr2
ekey_mn3
ekey_dy4
ekey_at5
ekey_ts6
surfaceType7

CREATE TABLE EXAMPLE QUERY

CREATE TABLE `SRAnalytics`.`MsgLiveExpirySurface` (
`ekey_at` ENUM('None','EQT','IDX','BND','CUR','COM','FUT','SYN','WAR','FLX','MUT','SPD','MM','MF','COIN','TOKEN','ANY') NOT NULL DEFAULT 'None',
`ekey_ts` ENUM('None','SR','NMS','CME','ICE','CFE','CBOT','NYMEX','COMEX','RUT','CIDX','ARCA','NYSE','OTC','NSDQ','MFQS','MIAX','DJI','CUSIP','ISIN','BXE','ESX','ANY','CXE','DXE','NXAM','NXBR','NXDUB','NXLS','NXLDN','NXML','NXMLT','NXOS','NXP','EUREX','CEDX','ICEFE') NOT NULL DEFAULT 'None',
`ekey_tk` VARCHAR(12) NOT NULL DEFAULT '',
`ekey_yr` SMALLINT UNSIGNED NOT NULL DEFAULT 0,
`ekey_mn` TINYINT UNSIGNED NOT NULL DEFAULT 0,
`ekey_dy` TINYINT UNSIGNED NOT NULL DEFAULT 0,
`surfaceType` ENUM('None','Live','PrevDay','Interp','Close','Test') NOT NULL DEFAULT 'None',
`uPrc` DOUBLE NOT NULL DEFAULT 0 COMMENT 'effective uPrc used for surface fitting',
`uPrcDriver` DOUBLE NOT NULL DEFAULT 0 COMMENT 'underlier driver (mid-market)',
`years` FLOAT NOT NULL DEFAULT 0 COMMENT 'time to expiration (in years)',
`rate` FLOAT NOT NULL DEFAULT 0 COMMENT 'average interest rate to expiration (discount rate)',
`sdiv` FLOAT NOT NULL DEFAULT 0 COMMENT 'stock dividend (borrow rate)',
`atmVol` FLOAT NOT NULL DEFAULT 0 COMMENT 'atm vol (xAxis = 0)',
`atmSlope` FLOAT NOT NULL DEFAULT 0 COMMENT 'volatility surface slope (dVol / dXAxis) @ ATM (xAxis=0)',
`fitRate` FLOAT NOT NULL DEFAULT 0,
`axisFUPrc` FLOAT NOT NULL DEFAULT 0 COMMENT 'axis FwdUPrc (fwd underlying price used to compute xAxis)',
`axisVolRT` FLOAT NOT NULL DEFAULT 0 COMMENT 'axis volatility x sqrt(years) (used to compute xAxis) [usually the minimum curve volatility]',
`skewMult` FLOAT NOT NULL DEFAULT 0 COMMENT 'sVol = skewMult * BasisSkewFn(xMult * xAxis - xShift)',
`xMult` FLOAT NOT NULL DEFAULT 0,
`xShift` FLOAT NOT NULL DEFAULT 0,
`skewC00` FLOAT NOT NULL DEFAULT 0 COMMENT 'curve coeff[0]',
`skewC01` FLOAT NOT NULL DEFAULT 0 COMMENT 'curve coeff[1]',
`skewC02` FLOAT NOT NULL DEFAULT 0,
`skewC03` FLOAT NOT NULL DEFAULT 0,
`skewC04` FLOAT NOT NULL DEFAULT 0,
`skewC05` FLOAT NOT NULL DEFAULT 0,
`skewC06` FLOAT NOT NULL DEFAULT 0,
`skewC07` FLOAT NOT NULL DEFAULT 0,
`skewC08` FLOAT NOT NULL DEFAULT 0,
`skewC09` FLOAT NOT NULL DEFAULT 0,
`skewC10` FLOAT NOT NULL DEFAULT 0,
`skewC11` FLOAT NOT NULL DEFAULT 0,
`skewC12` FLOAT NOT NULL DEFAULT 0,
`skewC13` FLOAT NOT NULL DEFAULT 0,
`skewC14` FLOAT NOT NULL DEFAULT 0,
`skewC15` FLOAT NOT NULL DEFAULT 0,
`skewC16` FLOAT NOT NULL DEFAULT 0,
`skewC17` FLOAT NOT NULL DEFAULT 0,
`skewC18` FLOAT NOT NULL DEFAULT 0,
`skewC19` FLOAT NOT NULL DEFAULT 0,
`skewC20` FLOAT NOT NULL DEFAULT 0,
`skewC21` FLOAT NOT NULL DEFAULT 0,
`skewC22` FLOAT NOT NULL DEFAULT 0,
`skewC23` FLOAT NOT NULL DEFAULT 0,
`skewC24` FLOAT NOT NULL DEFAULT 0,
`skewC25` FLOAT NOT NULL DEFAULT 0,
`skewC26` FLOAT NOT NULL DEFAULT 0,
`skewC27` FLOAT NOT NULL DEFAULT 0,
`skewC28` FLOAT NOT NULL DEFAULT 0,
`cpAdjD04` FLOAT NOT NULL DEFAULT 0 COMMENT 'xAxis = -4.0',
`cpAdjD03` FLOAT NOT NULL DEFAULT 0 COMMENT 'xAxis = -3.0',
`cpAdjD02` FLOAT NOT NULL DEFAULT 0 COMMENT 'xAxis = -2.0',
`cpAdjD01` FLOAT NOT NULL DEFAULT 0 COMMENT 'xAxis = -1.0',
`cpAdjU01` FLOAT NOT NULL DEFAULT 0 COMMENT 'xAxis = +1.0',
`cpAdjU02` FLOAT NOT NULL DEFAULT 0 COMMENT 'xAxis = +2.0',
`cpAdjU03` FLOAT NOT NULL DEFAULT 0 COMMENT 'xAxis = +3.0',
`cpAdjU04` FLOAT NOT NULL DEFAULT 0 COMMENT 'xAxis = +4.0',
`tradeableStatus` ENUM('None','OK','SurfaceErr','LowCCnt','LowPCnt','FitPrcErr','BidAskMiss','LowCounter','DefaultSkew','SessionMiss','BaseErr','SwitchDelay','WideMktV','WideMktP','WideUMkt','UWidthEma','CCntEma','PCntEma','VWidthEma','PWidthEma','Closed') NOT NULL DEFAULT 'None' COMMENT 'indicates whether the surface is currently tradeable or not (all server surface integrity checks pass)',
`surfaceResult` ENUM('None','OK','EOD','Init','Cache','PrevDay','NullExpIdx','NoStrikes','NoBaseCurve','BadBootAtm','NoGoodStrikes','BadAtmVol','Bootstrap','NoUPrc','NoIVols','NoModelPts','ZeroYears','NoSimpleVol','OptMktNotOpn','NoBaseSurface','UPrcOffCnt','SkewKnotCnt','Exception','AxisError','CAskFit1Err','CAskFit2Err','PAskFit1Err','PAskFit2Err','CBidFit1Err','CBidFit2Err','PBidFit1Err','PBidFit2Err','CobsSampleErr','NoPrcFit','NumStrikes','CMidFitErr','PMidFitErr','StrikeCount','VolKnotCnt','InterpError','NoAtmStrike','CobsConvexFitErr','CobsMidFitErr','ProxyError','NoOptExp','Expired','NoUnderlier','NoBaseUnderlier','InvalidUPrc','ZeroUPrc','WideUMkt','StalePrcFit','NoPrcCurves','PriceError','ConvergeFail','NoUPrcRatio','NoSDivValue') NOT NULL DEFAULT 'None',
`marketSession` ENUM('None','PreMkt','RegMkt','PostMkt','PreRegMkt','RegPostMkt','AllDay') NOT NULL DEFAULT 'None' COMMENT 'market session this surface is from',
`timestamp` DATETIME(6) NOT NULL DEFAULT '1900-01-01 00:00:00.000000',
PRIMARY KEY USING HASH (`ekey_tk`,`ekey_yr`,`ekey_mn`,`ekey_dy`,`ekey_at`,`ekey_ts`,`surfaceType`)
) ENGINE=SRSE DEFAULT CHARSET=LATIN1 COMMENT='LiveExpirySurface (surfaceType = \'Live\') records are computed and publish continuously during trading hours and represent a current best implied volatility market fit.\nSurfaceType = \'PriorDay\' records contain the `closing surface record from the prior trading period (usually from just before the last main session close).';

SELECT TABLE EXAMPLE QUERY

SELECT
`ekey_at`,
`ekey_ts`,
`ekey_tk`,
`ekey_yr`,
`ekey_mn`,
`ekey_dy`,
`surfaceType`,
`uPrc`,
`uPrcDriver`,
`years`,
`rate`,
`sdiv`,
`atmVol`,
`atmSlope`,
`fitRate`,
`axisFUPrc`,
`axisVolRT`,
`skewMult`,
`xMult`,
`xShift`,
`skewC00`,
`skewC01`,
`skewC02`,
`skewC03`,
`skewC04`,
`skewC05`,
`skewC06`,
`skewC07`,
`skewC08`,
`skewC09`,
`skewC10`,
`skewC11`,
`skewC12`,
`skewC13`,
`skewC14`,
`skewC15`,
`skewC16`,
`skewC17`,
`skewC18`,
`skewC19`,
`skewC20`,
`skewC21`,
`skewC22`,
`skewC23`,
`skewC24`,
`skewC25`,
`skewC26`,
`skewC27`,
`skewC28`,
`cpAdjD04`,
`cpAdjD03`,
`cpAdjD02`,
`cpAdjD01`,
`cpAdjU01`,
`cpAdjU02`,
`cpAdjU03`,
`cpAdjU04`,
`tradeableStatus`,
`surfaceResult`,
`marketSession`,
`timestamp`
FROM `SRAnalytics`.`MsgLiveExpirySurface`
WHERE
/* Replace with a ENUM('None','EQT','IDX','BND','CUR','COM','FUT','SYN','WAR','FLX','MUT','SPD','MM','MF','COIN','TOKEN','ANY') */
`ekey_at` = 'None'
AND
/* Replace with a ENUM('None','SR','NMS','CME','ICE','CFE','CBOT','NYMEX','COMEX','RUT','CIDX','ARCA','NYSE','OTC','NSDQ','MFQS','MIAX','DJI','CUSIP','ISIN','BXE','ESX','ANY','CXE','DXE','NXAM','NXBR','NXDUB','NXLS','NXLDN','NXML','NXMLT','NXOS','NXP','EUREX','CEDX','ICEFE') */
`ekey_ts` = 'None'
AND
/* Replace with a VARCHAR(12) */
`ekey_tk` = 'Example_ekey_tk'
AND
/* Replace with a SMALLINT UNSIGNED */
`ekey_yr` = 123
AND
/* Replace with a TINYINT UNSIGNED */
`ekey_mn` = 1
AND
/* Replace with a TINYINT UNSIGNED */
`ekey_dy` = 1
AND
/* Replace with a ENUM('None','Live','PrevDay','Interp','Close','Test') */
`surfaceType` = 'None';

Doc Columns Query

SELECT * FROM SRAnalytics.doccolumns WHERE TABLE_NAME='LiveExpirySurface' ORDER BY ordinal_position ASC;